﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using Fiuba.Algo3.Titiritero.Vista;
using Fiuba.Algo3.Titiritero;
using LibreriaDeClases;

namespace BattleCity
{
    public class LanzaCohetes : Arma
    {

        public LanzaCohetes()
        {
            this.municiones = 25;
	        this.nombre = "LanzaCohetes";
        }
	public LanzaCohetes(Point puntoSuperiorIzquierdo)
        {
            this.Figura = new Rectangulo(puntoSuperiorIzquierdo, 15, 15);
	        this.nombre = "LanzaCohetes";
        }

        override protected Proyectil getProyectil(Point ubicacion, IDireccion direccion)
        {
            municiones--;
            if (municiones >= 0)
                return new ProyectilLanzaCohetes(ubicacion, direccion);
            else
                return null;
        }

        //queda afuera este numero aleatorio porque sino todos los tanques inicializados
        //en el mismo momento, disparan a la misma vez.
        //El juego arranca siempre de forma diferente
        private static Random r = new Random(DateTime.Now.Millisecond);

        override protected bool debeDisparar()
        {
            double aleatorio = r.NextDouble();
            if (aleatorio < 0.03) //Como tiene una velocidad de disparo alta, tiene poca probabilidad de disparar
                return true;
            else return false;
        }

        virtual public void CargarMuniciones(LanzaCohetes lanzaCohetes)
        {
            this.municiones += lanzaCohetes.municiones;
        }
    }
}
